草庐IT

javascript - 从外部调用 jQuery 插件中的函数

全部标签

ruby-on-rails - FiberError - 跨线程调用的纤程

我正在尝试在使用random-wordgem的Rails应用程序中编写一个小功能生成一个随机名词,然后将其复数。第一次访问开发中的页面时,我已经能够让它工作,但我希望脚本在每次加载页面时再次运行。现在,后续页面加载(直到我反弹服务器)给我WelcomeController#randomwords中的FiberError,fibercalledacrossthreads。我试图自己解决这个问题,但我对编程还很陌生,并不真正了解Fibers的工作原理。我尝试使用Queue,但无法弄清楚如何让它工作,同样是因为我不完全理解该类(class)。我将如何着手解决这个具体问题?来源:welcome

ruby-on-rails - Ruby 中的线程安全枚举器

TLDR:Ruby中是否有Enumerator类的线程安全版本?我正在尝试做的事情:我想在RubyOnRails应用程序中同时运行一个方法。该方法应该创建一个包含站点报告的zip文件,其中zip中的每个文件都是PDF。从html到PDF的转换有点慢,因此需要多线程。我希望如何做到这一点:我想使用5个线程,所以我想我应该在线程之间共享一个枚举器。每个线程都会从枚举器中弹出一个值,然后运行它。这是我认为它会起作用的方式:t=Zip::OutputStream::write_bufferdo|z|mutex=Mutex.newgen=Enumerator.new{|g|Report.all.

ruby - Ruby Gemspec 中的条件依赖

我正在构建一个需要安装jsongem才能运行的gem。哪个jsongem并不重要:json_pure、json-jruby或基于C的json。是否有在gemspec中定义它的好方法?Thisresponse建议为每个版本维护一个完全独立的gem,但似乎必须有更好的方法。有人有这方面的经验吗?我应该只使用spec.requirements吗?通知用户他/她需要jsongem的选项? 最佳答案 是的,我会在spec.requirements中建议一个简单的文本要求。我还建议在gem首次加载时进行某种加载链接:#ininit.rband/

ruby-on-rails - 在 Ruby on Rails 中为由外部 API 支持的模型使用 ActiveRecord 接口(interface)

我正在尝试在我的Rails应用程序中使用模型来从外部API检索信息。我想做的是以类似于ActiveRecord模型提供的方式(特别是关联,以及相同风格的可链接查询方法)访问我的数据模型(可能包含来自多个API调用的信息)。我最初的直觉是重新创建我想要的ActiveRecord部分并合并此API。不想“重新发明轮子”并确切地看到添加更多功能需要多少工作让我退后一步并重新评估如何处理这个问题。我找到了在没有表的情况下使用ActiveRecord的方法(请参阅:Railscast#193TablelessModel和博客文章here)并研究了ActiveRecord。因为ActiveMode

ruby - ActionDispatch::IntegrationTest 中的 stub 方法

我正在做一些条纹集成测试,我想stub/模拟一些端点。我正在尝试这样做:Stripe::Charge.stubs(:retrieve).returns({:balance_transaction=>40})但我得到以下信息:NoMethodError:undefinedmethod`stubs'forStripe::Charge:Classstub的正确语法是什么?Rails4、Ruby2。编辑:这是我的完整测试方法。本质上,我的payment_succeededwebhook命中strip以检索费用及其相关的余额交易以记录交易费用。我正在使用stripe_mock来模拟webhook

ruby - gemspec 中的条件 ruby​​ gem 依赖项

我正在构建一个在迁移中使用外键的Rails引擎。add_foreign_key"theblog_content_nodes","theblog_content_statuses",column::content_status_id从4.2版本开始,rails本身就支持外键,但在我们为此使用foreignergem之前。如果我们尝试将foreigner与rails4.2及更新版本一起使用,我们会收到错误消息。因为我要从4.0.1开始支持Rails,所以我必须在我的gemspec中使用条件依赖。我找到了可能的解决方案here但我不知道如何在gemspec中检查rails版本。#sideki

ruby - 为什么在 Ruby 中存在两种访问模块函数的方式?

moduleAdefself.funcputs"func"endend>>A.funcfunc>>A::funcfunc为什么.和::都存在?为什么不仅是.? 最佳答案 作用域解析运算符(::)可以解析常量、实例方法和类方法,因此只要我们在正确的位置查找,我们就可以将该运算符用于基本上任何方法。此外,由于方法“func”被定义为模块A的类方法(通过self.func,类似于“静态”方法)它直接属于模块(即本身是一个对象)所以它可以用点运算符调用,模块作为接收者。请注意,模块A的实例对“func”没有任何可见性,因为它是一个类方法:a

ruby - Ruby 守护进程中的错误文件描述符

在MacOSXLion上使用Rubyv1.8.7和Daemonsv1.1.8,我试图编写一个消费者进程并让它作为守护进程运行:#config[:name]=>'idx_my_delete_consumer'#config[:daemon]=>{:multiple=>false,#:backtrace=>true,#:dir_mode=>:normal,#:log_dir=>'/Users/pprakash/consumer.log',#:monitor=>true,#:dir=>'/Users/pprakash/pids'}Daemons.run_proc(config[:name],

ruby - 如何调试被静默忽略的插件?

这里是Jekyll的新手(之前在Hyde上)。位于_plugins/目录中的Ruby文件显然被默默地忽略了。我在Ubuntu12.04上使用0.11.2版的Jekyll和ruby​​1.8.7。是否应该添加一个额外的配置参数来加载这些插件?文档没有这么说-理智的默认设置应该是查看_plugins,并且应该自动要求它们。如何调试Jekyll插件的加载? 最佳答案 对于我的jekyll实例(也是0.11.2,但在Mac上使用ruby​​1.9.2p290),我不需要添加任何额外的配置,但您可以尝试将以下行添加到您的顶级“_config”

c - Ruby 的最大函数顺序如何重复?

我一直在看maxmethod在Ruby的Enumerable混合(v2.4.1)。这是一个相当简单的方法,但是当存在重复项时它如何排序项目有点令人困惑。例如:x=[1,2,3,4,5,6,7,8,9]x.max{|a,b|a%2b%2}=>110.times{|y|px.max(y){|a,b|a%2b%2}}[][1][1,7]#whyis7thenextelementafter1?[3,1,5]#whynomore7?[7,3,1,5]#7isnowfirst[9,7,3,1,5][9,7,3,1,5,6][9,7,3,1,5,4,6][9,7,3,1,5,2,4,6][9,7,5